package partFour;

import org.junit.Test;

import java.lang.reflect.Field;

public class TestReflect4 {
    //通过单元测试来测试获取成员变量
    @Test
    public void getFields(){
        //1.获取Class字节码对象
        /** Class<?>中的"?"是泛型约束的通配符,类似于"*" */
        Class<?> clazz = Student.class;

        //2.获取所有的成员变量,公共的!!!
        /**!!!注意目前成员变量的修饰符必须是public才能获取到,采用默认修饰符就反射不到*/
        Field[] fs = clazz.getFields();

        //3.遍历数组,获取每个成员变量的信息
        for (Field f: fs) {
            System.out.println(f.getName());//获取变量名
            System.out.println(f.getType().getName());//获取变量类型
        }
    }
}